import api from "@/common/request";
import config from "@/common/config";
import uniApi from "@/common/uniApi";

// 配置请求
api.setConfig({
  baseUrl: config.appurl,
  debug: config.debug,
});

// 请求拦截
api.interceptor.request = (config) => {
  // 给header添加全局请求参数token
  if (!config.header.token || !config.header.wanlshop) {
	  config.header.token = uni.getStorageSync("userInfo").token || "";
	 // #ifdef H5
	  config.header.token =  "6599e6b7c09beaf30bc2c50bd9e151b1ba2323f3c49e4d57b40bdb47818b347b1b08a206a4990b2f8938045d52f30afd6f256e82ee63341f04fff65c240087a9a30e30b20d02fe67130843de3b4e05995e26587a325f0c9532171b9075176f7e";
	
	  // #endif
    // // #ifdef MP-WEIXIN
    // config.header.token = uni.getStorageSync("userInfo").token || "";
    // // #endif
    // // #ifndef MP-WEIXIN
    // config.header.token = "ee66d660-0776-4dcc-bb2f-3bd3096349a8";
    // // #endif
    // 设置语言
    config.header["Accept-Language"] = "zh-CN,zh;q=0.9";
  }
  // 添加一个自定义的参数，默认异常请求都弹出一个toast提示
  if (config.toastError === undefined) {
    config.toastError = true;
  }
  return config;
};

/**
 * 全局的业务拦截

 */
api.interceptor.response = (res, config) => {
  if (res.code === 200) {
    res.success = true;
  } else if (res.code === 402) {
    // token失效，需要重新登录
	// uni.clearStorageSync();
    uniApi.rt("/pages/auth/login");
  }
  // wanlshop_config.debug?console.log(res):'';
  return res;
};

/**
 * 全局错误提示
 *
 * @statusCode 200 业务错误
 * @statusCode 401 没有登录
 * @statusCode 403 没有权限
 * @statusCode 404 找不到文件
 * @statusCode 500 服务器内部错误
 */
api.interceptor.fail = (res, config) => {
	console.log(res,"res 请求失败/异常")
  var error = "";
  //业务错误、没有登录、没有权限
  if (res.statusCode === 200) {
    error = res.data.msg;
  } else 
  if (res.statusCode === 401) {
    error = res.data.msg;
  } else if (res.statusCode === 403) {
    error = res.data.msg;
  } else if (res.statusCode === 404) {
    // error = "API接口不存在";
	// error = "网络状况不佳，请刷新程序";
	 error = res.data.msg;
  } else if (res.statusCode === 500) {
    // error = "网络状况不佳，请刷新程序";
	 error = res.data.msg;
  } else {
    // error = "API接口异常";
	// error = "网络状况不佳，请刷新程序";
	 error = res.data.msg;
  }
  if (res.errMsg == "request:fail abort statusCode:-1") {
    // wanlshop_config.debug?console.log(res) : '';
  } else {
    config.toastError
      ? uni.showToast({
          title: error,
          icon: "none",
          duration: 3000,
        })
      : "";
    // setTimeout(() => {
    // 	uniApi.cback()
    // }, 500)
  }
  return res;
};
export default api;
